home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 253 / Issue 253 - March 2009 - DPCS0309DVD.ISO / Toolkit / Internet / WinHTTrack / httrack-3.43.exe / {app} / src_win / WinHTTrackIEBar / WinHTTrackIEBar.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2006-12-17  |  2.2 KB  |  80 lines

  1. // WinHTTrackIEBar.cpp : Implementation of DLL Exports.
  2.  
  3.  
  4. // Note: Proxy/Stub Information
  5. //      To build a separate proxy/stub DLL, 
  6. //      run nmake -f WinHTTrackIEBarps.mk in the project directory.
  7.  
  8. #include "stdafx.h"
  9. #include "resource.h"
  10. #include <initguid.h>
  11. #include "WinHTTrackIEBar.h"
  12.  
  13. #include "WinHTTrackIEBar_i.c"
  14. #include "WinHTTrackLauncher.h"
  15.  
  16. CComModule _Module;
  17.  
  18. BEGIN_OBJECT_MAP(ObjectMap)
  19. OBJECT_ENTRY(CLSID_WinHTTrackLauncher, WinHTTrackLauncher)
  20. END_OBJECT_MAP()
  21.  
  22. /////////////////////////////////////////////////////////////////////////////
  23. // DLL Entry Point
  24.  
  25. extern "C"
  26. BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
  27. {
  28.     if (dwReason == DLL_PROCESS_ATTACH)
  29.     {
  30.         _Module.Init(ObjectMap, hInstance, &LIBID_WINHTTRACKIEBARLib);
  31.         DisableThreadLibraryCalls(hInstance);
  32.     }
  33.     else if (dwReason == DLL_PROCESS_DETACH)
  34.         _Module.Term();
  35.     return TRUE;    // ok
  36. }
  37.  
  38. /////////////////////////////////////////////////////////////////////////////
  39. // Used to determine whether the DLL can be unloaded by OLE
  40.  
  41. STDAPI DllCanUnloadNow(void)
  42. {
  43.     return (_Module.GetLockCount()==0) ? S_OK : S_FALSE;
  44. }
  45.  
  46. /////////////////////////////////////////////////////////////////////////////
  47. // Returns a class factory to create an object of the requested type
  48.  
  49. STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
  50. {
  51.     return _Module.GetClassObject(rclsid, riid, ppv);
  52. }
  53.  
  54. /////////////////////////////////////////////////////////////////////////////
  55. // DllRegisterServer - Adds entries to the system registry
  56.  
  57. STDAPI DllRegisterServer(void)
  58. {
  59.     // registers object, typelib and all interfaces in typelib
  60.     HRESULT hr = _Module.RegisterServer(TRUE);
  61.     // Ignore Windows98 failure
  62.     if (0x80070078 == hr)
  63.         hr = S_OK;
  64.     return hr;
  65. }
  66.  
  67. /////////////////////////////////////////////////////////////////////////////
  68. // DllUnregisterServer - Removes entries from the system registry
  69.  
  70. STDAPI DllUnregisterServer(void)
  71. {
  72.     HRESULT hr = _Module.UnregisterServer(TRUE);
  73.     // Ignore Windows98 failure
  74.     if (0x80070078 == hr)
  75.         hr = S_OK;
  76.     return hr;
  77. }
  78.  
  79.  
  80.